其他
一文读懂Chainlink如何连通链下数据源并展开链下计算
重点摘要:
Chainlink并非单体预言机网络,而是一个通用框架,可以构建出无数个去中心化预言机网络。
Chainlink各个预言机网络并行,互不依赖,将链下数据源和计算资源连接至智能合约。
Chainlink框架可以用来打造安全的预言机网络,为智能合约应用提供喂价、储备金证明、可验证的随机数以及选举结果等。
背景介绍
过去几年中,智能合约生态快速增长,总锁仓量约至400亿美元。除此之外,生态中还涌现出种类繁多的去中心化应用。智能合约之所以能实现今天的增长势头,最大功臣非去中心化预言机网络莫属。如今,去中心化预言机网络的应用规模不断扩大,为智能合约接入原生区块链以外的数据源。预言机驱动了DeFi生态向前发展,实现了全新的链上抵押模式,并极大丰富了智能合约的功能。
然而,不同的智能合约用例需要接入不同的链下数据集和运算资源。因此,单一预言机网络无法满足高级智能合约应用所需的灵活性。比如合成资产协议需要输入实时喂价,以锚定黄金等大宗商品的实时价格发行通证;预测市场需要从官方渠道获取美国总统大选的最终结果,以进行结算;区块链游戏应用需要输入安全的链下随机数来发放游戏物品。
以上每种智能合约用例对预言机的需求都完全不同。因此,智能合约生态需要一个面向基础架构的框架,让开发者可以开发或接入任何类型的预言机网络,并能够定制网络中的节点、数据源、更新频率、传输方式、安全参数和聚合方式等。
Chainlink网络为用户提供了这样一种通用框架,灵活配置预言机网络,以满足智能合约应用的需求。Chainlink网络具有极高的兼容性,所有配置的预言机网络都可以同时并行。本文将探讨Chainlink框架的优势、开发者如何定制预言机网络以及Chainlink预言机的真实用例。
Chainlink异构网络的优势
去中心化网络通常采用单体设计模式,即同一组节点共同协作,按照预设定的规则提供具体的服务。区块链就是典型的单体设计模式,区块链网络中的所有节点都执行一套标准化的运算,包括验证签名、计算区块哈希值,最终对交易验证达成全局共识。每个区块链节点都执行同样的确定性运算,最终达成共识,它们之间的主要区别就是运算规模不同。
这个模式也许对区块链有用,但对预言机网络却并非如此。预言机网络需要对来自非确定性的现实世界的数据达成共识,通常需要支付费用或获得许可才能链接至链下数据源。预言机不适合采用这种单体模式,因为并非所有节点都可以随时访问所有需要访问的链下资源。强迫网络中每个节点都花钱订阅用户所需的付费数据源,这个方法不适用大规模的网络。另外,许多数据集只对少数人开放,比如企业后端数据库。因此,采用单体设计模式的预言机网络只能限制其服务范围,确保其网络中所有节点都可以交付服务,比如只从免费的开源API获取数据,而这些API往往无法提供优质的数据,也无法保障连接质量。
为了打破这一限制,Chainlink另辟蹊径,开发出异构网络,网络中多个独立的预言机网络并行,互不依赖。任何一个预言机网络的运行都不会对其他网络产生影响。每个网络都是专门设立的,为某一智能合约连接至链下数据源和链下运算,因此开发者拥有极大的灵活性。Chainlink框架无须许可,任何人都可以在其中创建自己的预言机网络。这将驱动预言机网络创新,并使Chainlink网络不断向前发展。
这种异构模式的最大优势是Chainlink节点运营商可以定制节点服务。这可以提高预言机的成本效益,因为节点只需接入所在预言机网络要求的链下资源。比如,Chainlink喂价网络中的节点只需接入金融市场数据,而不用再接入体育比分、天气等其他不相关的数据。这样做可以降低运行Chainlink节点的门槛,也可以进一步使网络去中心化。当然,如果Chainlink节点希望同时接入多个数据源,他们也可以做到。
如果节点接入企业后端系统、物联网传感器和法币支付系统等需要权限的链下系统,那么它们可以将数据卖给智能合约。Chainlink网络通过这种异构网络模式支持数据提供商运行Chainlink节点,并将数据API直接卖给智能合约。
由于节点运营商拥有这样的灵活性,Chainlink可以将全世界所有数据传输至链上,极大丰富智能合约应用的类型。
使用Chainlink框架定制预言机网络
采用Chainlink框架开发的预言机网络设置了一系列参数,可以根据具体的应用场景调节。任何一个预言机网络的参数都不会影响其他网络,因此可以在最大程度上保障灵活性。以下是可定制的参数:
节点运营商:Chainlink节点可以任意组合成预言机网络,节点运营商包括专业DevOps团队运行、口碑过硬的数据提供商、传统企业以及其他实体。 数据源:Chainlink节点可以灵活设置数据源数量,数据源包括免费的开源API、付费API、设置权限的数据库以及传感器等。 链下运算:Chainlink节点不仅可以传输数据,还可以执行信任最小化链下计算,比如创建可验证随机数和计算保险额度等。 底层区块链:Chainlink可以兼容任何区块链,并支持各种链上环境,保障智能合约一直能够接入安全可靠的链下数据和运算资源。 更新频率:预言机网络的更新频率可灵活设置,可以选择基于偏差阈值更新(如:每上下浮动0.5%更新一次)、基于时间更新(如:每小时更新一次)以及按需更新等。 聚合方法:预言机网络可以根据数据类型采取不同的聚合方式,如取中位数、平均值、众数等,最终聚合成一个数据点。 安全参数:用户可以在服务协议中明确安全参数,如预言机质押金额、服务时长以及连接要求等。
除此之外,Chainlink预言机网络还可以采用多种方式将数据传输至链上智能合约。保险这类智能合约需要将链下数据推送至合约中,以得知自然灾害等真实世界中发生的事件;而货币市场这类智能合约则需要一个定期更新的链上数据源,合约采用“拉动”的方式随时获取数据,验证贷款的抵押率。以下是不同类型的预言机网络:
基本请求模式(推动式):在一笔交易中创建并发送数据请求至Chainlink预言机,一段时间后在另一笔交易中获得响应,以此将智能合约连接至链下数据源(开源或付费API)。 去中心化数据模式(拉动式):通过链上参考合约提供共享数据源,参考合约由多个用户共同出资,并由经过安全审核的独立Chainlink节点网络定期更新。因此智能合约可以在一笔交易内请求并获取链下数据。
当偶尔请求一个特殊数据集时,最好采用基本请求模式;而如果需要频繁请求常见的数据集,则最好采用去中心化数据模式,比如常用的Chainlink喂价。DeFi协议可以随时从这些喂价中获取安全可靠且及时的金融市场数据。有了这个预言机网络模型,开发者无需再亲自打造预言机网络,而是可以接入由众多独立项目共同支持的现成预言机网络。
Chainlink框架下的各类预言机网络
Chainlink灵活性极高的预言机框架催生出了许多独立的预言机网络,为智能合约应用连接至一系列链下数据集和链下运算资源。Chainlink框架可以实现无限创新的应用场景,下文将抛砖引玉介绍几个已经实现的预言机应用场景:
Chainlink喂价:Chainlink喂价为Aave和Synthetix等DeFi应用接入加密货币、稳定币、外汇、大宗商品、指数和证券等各类金融市场价格。 储备金证明:审计锚定法币的稳定币以及跨链资产的储备金,并在链上公布审计报告,帮助DeFi应用抵御抵押率不足的风险,最大程度上减少用户的损失。 可验证的随机数:PoolTogether等区块链游戏dApp利用Chainlink VRF获得可验证且防篡改的随机数,保障公平且可验证的用户体验。 天气数据:Arbol接入Chainlink预言机从美国国家海洋和大气管理局(NOAA)获取天气数据,为发展中国家的农民提供参数型农作物保险,在恶劣天气条件下快速理赔。 美国大选数据:接入Everpedia运行的Chainlink节点,将美联社签名的2020年美国总统大选结果发布到区块链上,并为链上预测市场结算。 数据提供商做节点:领先的数据提供商还接入Chainlink框架为多个区块链网络中的智能合约提供加密签名的数据集,并为数据来源提供权威认证。
Chainlink是开发预言机网络的通用框架,可以将智能合约生态接入任何链下数据源,极大丰富去中心化应用的种类。正如上世纪九十年代的互联网一样,去中心化预言机网络拥有巨大的发展潜力,数据驱动型智能合约将打造出一个信任最小化的经济模式。
如果你是一名开发者,并且希望将智能合约连接至链下数据和基础架构,请点击此处联系我们,或查看开发者文档。
更多关于这个主题的文章
QQ群: 6135525
微博: https://weibo.com/chainlinkofficial
币乎: https://bihu.com/people/1869894547
合作联系: china@smartcontract.com
GitHub: https://github.com/smartcontractkit/chainlink
Discord: https://discord.gg/aSK4zew
Twitter: https://twitter.com/chainlink
Telegram: https://t.me/chainlinkofficial